﻿using FarmSmartSleep.Common.Domain;
using FarmSmartSleep.Common.Domain.BeginTable;
using FarmSmartSleep.Common.Domain.BodyWeight;
using FarmSmartSleep.Common.Domain.EarTage;
using FarmSmartSleep.Common.Domain.PM;
using FarmSmartSleep.Common.Domain.PM.select;
using FarmSmartSleep.Common.Domain.RaiseManagement;
using FarmSmartSleep.Common.Domain.RBACFile;
using FarmSmartSleep.Common.Domain.Sales_Purchase;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FarmSmartSleep.Common.Contexts
{
    public class EFDBContext : DbContext
    {
        public EFDBContext(DbContextOptions<EFDBContext> options) : base(options) { }
        //部门表
        public DbSet<Departments> Departments { get; set; }
        //核算单元表
        public DbSet<AccountingUnits> AccountingUnits { get; set; }
        //城市表
        public DbSet<City> City { get; set; }
        //栋舍表
        public DbSet<Cottages> Cottages { get; set; }
        public DbSet<DepartTree> DepartTrees { get; set; }
        public DbSet<FunctionalSystem> FunctionalSystems { get; set; }
        public DbSet<DepartmentType> DepartmentTypes { get; set; }
        //县级表
        public DbSet<County> County { get; set; }
        //单位表
        public DbSet<Enterprise> Enterprise { get; set; }
        //行业标签表二级
        public DbSet<Industry> Industry { get; set; }
        //省级表
        public DbSet<Province> Province { get; set; }
        //羊场表
        public DbSet<SheepFarm> SheepFarm { get; set; }
        //行业标签表一级
        public DbSet<IndustryLabels> IndustryLabels { get; set; }
        public DbSet<CottageType> CottageTypes { get; set; }
        public DbSet<Employee> Employees { get; set; }
        public DbSet<EmployeeRole> EmployeeRoles { get; set; }
        public DbSet<Permission> Permissions { get; set; }
        public DbSet<Roles> Roles { get; set; }
        public DbSet<RolesPermissions> RolesPermissions { get; set; }
        public DbSet<PhoneCaptcha> PhoneCaptcha { get; set; }//验证码


        //期初和档案 基础信息
        public DbSet<Variety> Variety { get; set; }//品种
        public DbSet<GeneGrade> GeneGrade { get; set; }//基因等级
        public DbSet<BirthStatus> BirthStatus { get; set; }//出生状态
        public DbSet<MaleBegin> MaleBegin { get; set; }//种公期初
        public DbSet<FemaleBegin> FemaleBegin { get; set; }//种母期初
        public DbSet<ProBegin> ProBegin { get; set; }//后裔起初
        public DbSet<SleepInfor> SleepInfor { get; set; }//羊只基本信息表
        public DbSet<SleepType> SleepType { get; set; }//羊只类型
        public DbSet<Fields> Fields { get; set; } //栏位表


        //生产管理
        public DbSet<SeedMotherHistoryRecord> SeedMotherHistoryRecords { get; set; } //种母历史表
        public DbSet<EwePregnancyCheckRecord> ewePregnancyCheckRecords { get; set; }//种母妊检

        public DbSet<MotherGivingBirth> motherGivingBirths { get; set; }//分娩种母
        public DbSet<MotherWeaning> motherWeanings { get; set; }


        public DbSet<FatSheepBatch> FatSheepBatch { get; set; }
        public DbSet<Mating_Methods> MatingMethods { get; set; }
        public DbSet<ParturitionDifficulty> ParturitionDifficulty { get; set; }
        public DbSet<PregnancyCheckMethod> PregnancyCheckMethod { get; set; }
        public DbSet<Sow_Estrus_Types> SowEstrusTypes { get; set; }
        public DbSet<PregnancyTests> PregnancyTests { get; set; }
        public DbSet<MotherHybridization> motherHybridizations { get; set; }// 种母配种信息表
        public DbSet<EstrusType> EstrusType { get; set; }// 种母发情类型表
        public DbSet<HybridizationType> hybridizationTypes { get; set; }// 配种方式
        public DbSet<SheepTransfer> SheepTransfer { get; set; }// 羊只转舍


        //耳标管理
        public DbSet<LambEars> LambEars { get; set; }//产羔耳标信息表
        public DbSet<LambBirthdayStatus> LambBirthdayStatus { get; set; }//产羔出生状态
        public DbSet<LambBreed> LambBreeds { get; set; }//产羔对应品种
        public DbSet<MarkCases> MarkCases { get; set; }//羊只戴标原因信息表
        public DbSet<SheepMarks> SheepMarks { get; set; }//羊只戴标信息表



        //育种管理
        public DbSet<WeightTypes> WeightTypes { get; set; }//羊只类型表
        public DbSet<SleepWeight> SleepWeight { get; set; } //羊只称重表
        public DbSet<BodyMeans> BodyMeans { get; set; } //羊只体尺测定表
        public DbSet<PhaseDeters> PhaseDeters { get; set; } //品相测定表


        public DbSet<Proc> procs { get; set; } // 采购计划
        public DbSet<SalesRecord> salesRecords { get; set; } // 销售记录


        //养只管理
        public DbSet<Culled> culleds { get; set; }
        public DbSet<SheepCulled> sheepCulleds { get; set; }
        public DbSet<SheepDeath> sheepDeaths { get; set; }
        public DbSet<SheepRaiseDeath> sheepRaiseDeaths { get; set; }
        public DbSet<SheepTransferType> sheepTransferTypes { get; set; }
        public DbSet<LambWeaning> lambWeanings { get; set; }

        public DbSet<Descendants> descendants { get; set; }

    }
}
